Internet Protocol (IP) is a communications protocol that has been widely accepted as a preferred method of communicating information between both fixed and mobile devices. IP is a packet-based communication protocol in which addressed packets are forwarded by packet routers to receiving devices. Internet Protocol version 4 is currently the most widely deployed version of IP. However, the broad acceptance of IP has placed considerable strain on the 32-bit addressing scheme available in IPv4. IPv4 addresses are now substantially exhausted. Much of the developing world has no access to the IPv4 address base. Consequently, the Internet Engineering Tasked Force (IETF) developed a new Internet Protocol Standard (RFCs 2460). Among other improvements, IPv6 extends the Internet Protocol address to a 128 bit value. IPv6 makes available adequate address space for the foreseeable future.
FIG. 1 is a schematic diagram of the current IP network, and a few exemplary devices its supports. As shown, a legacy IPv4 network 100 is interconnected (by gateways well known in the art) to isolated IPv6 networks 110, 120. The IPv4 network 100 supports a plurality of nodes such as nodes 130, 132, 134. The IPv6 network 110 also supports a plurality of nodes such as nodes 134, 136. The nodes are connected to the respective IP networks in many known ways, including via Internet service providers, and local area networks (LANs), such as LAN 140, through which IP node 130 accesses the IP network.
In order to facilitate routing across IP networks, tunnel protocols have been defined. Tunnel protocols exist to define paths for data traffic in accordance with provisioned parameters (bit rate, security, etc.) over IPv4 networks, in a manner well known in the art. Similarly, tunnel protocols have been specified for IPv6. Tunnel brokers 150 (two shown) have been used to permit tunnels to be set up across IPv4 and IPv6 networks. Tunnel brokers 150 generally do not form a part of the inter-network path over which the tunnel is defined, but rather are instrumental in dynamically establishing tunnels between two or more connected IP networks.
As will be appreciated by those skilled in the art, many LANs and various other private computer networks employ firewalls etc. that include the functionality of a network address translator (NAT) 160. NATs are known for extending addressing capabilities of a network by permitting a connected private network (e.g. LAN 140) to use a private addressing scheme that may conflict with address assignment in the public network (e.g. IPv4 network 100). The NAT 160 maintains a table associating LAN originating addresses with IPv4 destination addresses so that on receipt of a reply message from the IPv4 network 100, the NAT can match the origination address of the reply message with destination addresses in the table to identify the LAN 140 address to which the message should be routed.
The growth of wireless web-enabled devices (personal digital assistants (PDAs), and other wireless web browsers, 3-G and 4-G cellular phones, wireless Application Protocol (WAP) devices etc.) generates a considerable demand for IPv4 and IPv6 network access. In a manner well known in the art, web-enabled cell phones 170, 172 access IPv4 network 100/IPv6 network 120 via respective transceivers 180, 182, respectively.
It is well known that IPv4 and IPv6 are not compatible because of the differences in address space. IPv4 and IPv6 networks can only be interconnected through gateway nodes provisioned with both IPv4 and IPv6 network stacks. Nonetheless, because of the current lack of available IPv4 address space, IPV6 networks are being deployed and connected to the IPv4 network. As the conversion to IPv6 continues, more and more new service offerings are becoming available only in the IPv6 networks space. At the same time, most available legacy service offerings are enabled only in the IPv4 network.
Consequently, a great deal of effort has gone into developing ways to permit IPv6 devices to communicate through the IPv4 network (as described in applicant's U.S. patent application Ser. No. 10/1935396 filed Jul. 16, 2002 entitled METHOD AND APPARATUS FOR CONNECTING IPV6 DEVICES THROUGH AN IPV4 NETWORK USING A TUNNELING PROTOCOL; and applicant's U.S. patent application Ser. No. 10/337428 filed Jan. 7, 2003 and entitled METHOD AND APPARATUS FOR CONNECTING IPV6 DEVICES THROUGH IPV4 NETWORK AND A NETWORK ADDRESS TRANSLATOR).
Methods have also been developed for connecting IPv4 devices through an IPv6 network using a tunnel setup protocol. For example, U.S. patent application Ser. No. 10/286137 filed Nov. 1, 2002 describes a method and apparatus for connecting IPv4 devices through an IPv6 network using a tunnel setup protocol. However, as the IPv6 network is increasingly deployed, the requirement for communications with devices in both the IPv4 and IPv6 networks increases because many services available in either IPv4 or IPv6 are not being made available in the other network.
Efforts have therefore been made to permit IPv6 nodes to connect to nodes in the IPv4 network. For example, International Application Number PCT/GB03/01256 teaches an address resolver system that assists a node in an IPv6 network to select an address for connectivity to a node in an IPv4 network when both DSTM and NAT-PT transition mechanisms are available. The address resolver determines capabilities of the node and an application that requested a connection in order to select a most appropriate transition mechanism.
Although it is desirable that all IP nodes be provided with both an IPv4 and an IPv6 stack, simple provision of a dual stack does not solve the problem of connectivity. Neither IPv4 nor IPv6 are ubiquitously available. Consequently, even dual stack devices are often unable to communicate with both the IPv4 and IPv6 networks at any time that communications is desired.
There therefore exists a need for an IP network node that automatically and autonomously establishes connectivity to both the IPv4 and IPv6 networks.